/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: GaoBo
 * Date: 2021-04-09
 * Time: 21:06
 */
public class TestDemo2 {

    /**
     * 1!+2!+3!+.....+n!
     * @param n
     * @return
     */
    public static int facSum(int n) {
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            sum += fac(i);
        }
        return sum;
    }

    /**
     * 求i!的阶乘
     * @param i
     * @return
     */
    public static int fac( int i) {
        int tmp = 1;
        for (int j = 1; j <= i; j++) {
            tmp *= j;
        }
        return tmp;
    }

    public static void main(String[] args) {
        int ret = facSum(5);
        System.out.println(ret);
    }


    public static void func(int a) {
        a = 200;
        System.out.println("a改成了："+a);//1:
    }
    //形参的改变  不一定就会影响实参的改变
    public static void main2(String[] args) {
        int b = 10;//局部变量  在栈上存放  在Java当中  栈上的内存地址是拿不到的！！

        //System.out.println(&b);//不支持！！！

        func(b);
        System.out.println("b等于："+b);//2:
    }

    /**
     *
     * @param n 求1-n之间的和
     * @return
     */
    public static int add(int n) {
        System.out.println("这个函数被调用了！");
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            sum = sum+i;
        }
        return sum;
        //System.out.println(sum);
    }

    public static void main1(String[] args) {
        //函数的调用：
        int ret = add(10)*2;
        System.out.println(ret);
    }




}
